﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Model;
using DAL;

namespace BLL
{
    public class BllUserInfo
    {
        private DalUserInfo dal = new DalUserInfo();
        public bool Create(UserInfo userinfo, out string strMsg)
        {
            bool blnRet = false;
            //检查UserName有没重名
            if (dal.Exists(userinfo.UserName, out strMsg))
                strMsg = (strMsg.Length > 0) ? strMsg : "创建失败！已有用户名称： " + userinfo.UserName;
            else
                blnRet = dal.Create(userinfo, out strMsg);
            return blnRet;
        }

        public bool Login(UserInfo userinfo, out string strMsg)
        {
            bool blnRet = dal.Login(userinfo, out strMsg);
            strMsg = (blnRet) ? "OK" : ((strMsg.Length > 0) ? strMsg : "登录出错！请检查用户名和密码，以及是否被锁定！");
            return blnRet;
        }

        public bool Delete(UserInfo userinfo, out string strMsg)
        {
            bool blnRet = false;
            if (userinfo.UserName.ToLower() == "admin")
                strMsg = "删除失败！不能删除管理员！";
            else
                blnRet = dal.Delete(userinfo, out strMsg);
            return blnRet;
        }

        public UserInfo Get(string strUserName, out string strMsg)
        {
            return dal.Get(strUserName, out strMsg);
        }

        public List<UserInfo> GetAll(string strWhere, out string strMsg)
        {
            return dal.GetAll(strWhere, out strMsg);
        }

        public bool Update(UserInfo userinfo, out string strMsg)
        {
            return dal.Update(userinfo, out strMsg);
        }
    }
}
